1. Technical Field of the Invention
The present invention relates in general to the telecommunications field and, in particular, to a method and apparatus for continuously synchronizing transmitted and received symbols in a telecommunications system.
2. Description of Related Art
In a mobile communications system, when transmitting and receiving information carrying symbols, the transmitted and received signals need to be synchronized. For Example, a receiver must know just when in time a particular symbol begins and ends.
Symbols can be of different natures. For example, in a standard 64 kbit/s pulse code modulated (PCM) link, a symbol comprises an 8-bit word, and a user must synchronize transmissions with respect to these 8-bit words. Consequently, every identified symbol can then be interpreted in the same way. However, a symbol can comprise several subsymbols, and in that case, each subsymbol would have to be interpreted in a different way. An example of such a symbol is a Transcoding and Rate Adaptation Unit (TRAU) frame, which is transmitted on the Abis interface in the Global System for Mobile Communications (GSM). With such a complex symbol as a TRAU frame, the relative position of one subsymbol with respect to other subsymbols in the frame has to be determined in order for the subsymbol of interest to be correctly interpreted.
FIG. 1 is a diagram that illustrates a conventional TRAU frame, such as the type used in the GSM. Referring to FIG. 1, assume, for simplicities sake, that each symbol is digital and has a value of "0" or "1", and bit synchronization is perfect. Consequently, it is relatively easy to describe a method for finding the relative position of the subsymbols (e.g., the "D" and "C" bits in the TRAU frame). In FIG. 1, the information-carrying bits (C, D and T) are bounded by a pattern of known bits ("0" and "1"), which are commonly referred to as synchronization bits. The complete set of bits (0, 1, C, D and T) comprise the frame. By searching the received information stream of bits for this known pattern, the position of the frame in time can be determined and, thus, the relative position of each information carrying bit (C, D or T).
As long as the frame pattern remains intact, it is easy to determine the relative position of each subsymbol in the frame. However, due to disturbances that can occur on the transmission path, a bit or pair of bits in the frame can be duplicated or deleted. This phenomenon is referred to as a "bit slip." A method used for searching the received information stream, estimating the relative position of information-carrying symbols, and compensating for bit slip, is referred to as a synchronization algorithm.
In order to better describe the problem, it is useful to assume that the bits shown in FIG. 1 are received serially, with the upper leftmost bit being received first, and the subsequent bits being received in order from left to right and downwards. In this example, it is also useful to assume that bit slips will occur for pairs of bits (i.e., a subsymbol comprises two bits), and only one bit slip will occur per frame.
In a typical synchronization algorithm for a TRAU, the frame position is given by the first 17 bits in the frame. With respect to FIG. 1, these bits (0000 0000 0000 0000 1) are referred to as the "sync header." In order to make an adjustment for a bit slip (as defined directly above), the sync header can move its relative position by being advanced or delayed in time by two bits. Once the frame position has been determined by the 17 bit sync header, the remaining sync bits (referred to as "single sync bits") are each checked to see if they are equal to "1" (i.e., correct). If errors begin to occur in the single sync bits, the next functional section of the receiving device is informed of this error condition, and appropriate error concealment actions can be performed. In the event that the information being carried by the bits in the frame correspond to speech parameters that are to be input to a speech decoder, such an error concealment action would be to discard the current erroneous frame and re-use the prior received frame, possibly together with some amount of muting.
FIG. 2 is a flow diagram of a conventional synchronization algorithm (10), such as the algorithm used for the GSM. A basic problem with the existing synchronization algorithm is that when a bit slip occurs (e.g., step 24), the frame being received is corrupted and remains so until the next frame is received (step 26 and return to step 14). This bit slip can be detected by checking the single sync bits, and a decision can be made to either use the received, corrupted frame or apply some error concealment actions (26). Nevertheless, the problem still remains that certain information bits have been lost. In other words, the frame is corrupted from the point in time where the bit slip occurs (at step 24) until the next sync header is received (step 14). It is only until the next sync header is received that the estimated frame position can then be adjusted and the future effects of the bit slip neutralized.